package com.lab.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lab.common.annotation.Excel;
import com.lab.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 实验课程对象 biz_experiment_course
 *
 * @author cf
 * @date 2025-02-10
 */
@Data
public class ExperimentCourse extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 实验编号
     */
    @Excel(name = "实验编号")
    private String courseNo;

    /**
     * 实验名称
     */
    @Excel(name = "实验名称")
    private String courseName;

    /**
     * 实验类别,1-基础实验,2-应用实验,3-综合实验
     */
    @Excel(name = "实验类别,1-基础实验,2-应用实验,3-综合实验")
    private Long courseCategory;

    /**
     * 实验所属学科
     */
    @Excel(name = "实验所属学科")
    private String subjectName;

    /**
     * 实验要求
     */
    @Excel(name = "实验要求")
    private String experimentRequirements;

    /**
     * 实验者类别 1-本科生 2-研究生 3-教师 4-其他
     */
    @Excel(name = "实验者类别 1-本科生 2-研究生 3-教师 4-其他")
    private Long experimenterCategory;

    /**
     * 是否需要指导老师(1-需要 2-不需要)
     */
    @Excel(name = "是否需要指导老师(1-需要 2-不需要)")
    private Long isNeedAdviser;

    /**
     * 实验人数上限
     */
    @Excel(name = "实验人数上限")
    private Long maxExperimenters;

    /**
     * 实验学时数
     */
    @Excel(name = "实验学时数")
    private Long experimentHours;

    /**
     * 实验室id
     */
    private Long labId;

    /**
     * 实验室id
     */
    private List<Long> labIds;

    /**
     * 实验室
     */
    @Excel(name = "实验室")
    private String labName;


    /**
     * 实验室位置
     */
    @Excel(name = "实验位置")
    private String location;

    /**
     * 实验剩余容纳人数
     */
    private Integer remainCapacity;

    /**
     * 实验所属课程名称
     */
    @Excel(name = "实验所属课程名称")
    private String subjectCourseName;

    /**
     * 实验开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实验开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /**
     * 实验结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实验结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

}
